"""
数据分块模块 (Data Chunk)

负责将长文档切分为更小的、有意义的片段。
实现2024-2025年前沿的分块策略，支持语义分块、层次分块等。

重构后的模块结构：
- strategies.py: 分块策略实现
- metadata.py: 分块元数据管理
- quality.py: 分块质量评估
- chunker.py: 统一分块接口
"""

# 策略模块
from .strategies import (
    BaseChunkingStrategy,
    FixedSizeChunkingStrategy,
    SemanticChunkingStrategy,
    RecursiveChunkingStrategy,
    HierarchicalChunkingStrategy,
    FileTypeAwareStrategy
)

# 元数据模块
from .metadata import ChunkMetadata

# 质量分析模块
from .quality import ChunkingQualityAnalyzer

# 主要分块器模块
from .chunker import (
    AdvancedDocumentChunker,
    document_chunker
)

__all__ = [
    # 策略类
    "BaseChunkingStrategy",
    "FixedSizeChunkingStrategy",
    "SemanticChunkingStrategy",
    "RecursiveChunkingStrategy",
    "HierarchicalChunkingStrategy",
    "FileTypeAwareStrategy",

    # 元数据类
    "ChunkMetadata",

    # 质量分析类
    "ChunkingQualityAnalyzer",

    # 主要接口
    "AdvancedDocumentChunker",
    "document_chunker"
]